1 CLEAR
5 'SAVE "BUTTER"
7 'WRITTEN BY HAL W. JENNINGS
10 GOTO 1000
30 PUT (X,Y),P0:RETURN
35 PUT (X,Y),P5:RETURN
40 PUT (X1,Y1),P0:RETURN
45 PUT (X1,Y1),P5:RETURN
99 'CHECK FOR PICTURE NEEDING ATTENTION
100 I=(I MOD NP)+1:IF PT!(I)<FNTM!(T$) THEN ON I GOSUB 201,301,400 ELSE GOTO 100
102 IF SND AND RND>.44 THEN L=(L MOD K)+1:PLAY "L=D(L);N=F(L);"
105 IF L>=152 THEN FOR PAUSE=1 TO 1500:PAUSE=PAUSE+0:NEXT PAUSE:RUN"OTHDEMO" ELSE GOTO 100
200 'BUTTERFLY 1 - MOVEMENT
201 PP=TP:TP=(TP MOD 2)+1:IF RND<.07*(10-S) AND PP=1 THEN TP=PP:S=5 ELSE S=10
205 NX=X-S:IF NX<0 THEN NX=276
210 NY=80+TP*6:PT!(I)=(FNTM!(T$)):ON PP GOSUB 30,35:X=NX:Y=NY:ON TP GOSUB 30,35:RETURN
300 'BUTTERFLY 2 - MOVEMENT
301 P1=T1:T1=(T1 MOD 2)+1:IF RND<.07*(10-S1) AND P1=1 THEN T1=P1:S1=4 ELSE S1=8
305 NX1=X1-S1:IF NX1<0 THEN NX1=276
310 NY1=114+T1*6:PT!(I)=(FNTM!(T$)+1+(11-S1)*.6):ON P1 GOSUB 40,45:X1=NX1:Y1=NY1:ON T1 GOSUB 40,45:RETURN
1000 DEFINT A-Z:KEY OFF:PLAY "MBMN":DIM F(250),D(250)
1005 PP=0:TP=0:X=0:Y=0:NX=0:NY=0:NP=2
1010 DIM P(3,5),P0(150),P1(150),P2(150),P3(150),P4(150),P5(150),PT!(5)
1020 DEF FNTM!(T$)=PEEK(&H46E)*65536!+PEEK(&H46D)*256+PEEK(&H46C)
1025 TIME$=TIME$:DEF SEG=0:RANDOMIZE 0!
1029 K=1
1030 READ F,D:IF F<0 THEN 1034
1031 D(K)=24/D:IF F>0 THEN F(K)=F-20
1032 K=K+1:GOTO 1030
1034 K=K-1
1035 GOSUB 5000
1999 'PICTURE 0
2000 SCREEN 1,0:COLOR 0,0:CLS
2001 LINE (11,15)-(35,15),3
2005 LINE (11,18)-(35,18),3
2010 LINE (35,15)-(40,17),3
2015 LINE (35,18)-(40,17),3
2020 CIRCLE (8,17),3,3
2025 PAINT (13,17),3,3
2027 LINE (17,15)-(32,15),0
2030 LINE (2,9)-(9,15),1
2035 LINE (6,6)-(9,14),1
2040 CIRCLE (1,8),1,1
2045 CIRCLE (5,5),1,1
2050 CIRCLE (22,10),9,3,5.3,4.2
2055 PAINT (22,8),2,3
2060 CIRCLE (31,10),6,3,5,2.2
2065 PAINT (33,10),2,3
2070 CIRCLE (17,10),7,3,1.6,4.1
2075 PAINT (11,10),1,3
2080 GET (0,0)-(40,25),P0
2090 CLS
2099 'PICTURE 5
2100 LINE (11,9)-(35,9),3
2105 LINE (11,12)-(35,12),3
2110 LINE (35,9)-(40,11),3
2115 LINE (35,12)-(40,11),3
2120 CIRCLE (8,11),3,3
2125 PAINT (13,11),3,3
2130 LINE (17,12)-(34,12),0
2135 LINE (18,11)-(33,11),0
2140 LINE (2,5)-(9,9),1
2145 LINE (6,2)-(9,8),1
2150 CIRCLE (1,4),1,1
2155 CIRCLE (5,1),1,1
2160 CIRCLE (22,17),9,3,1.5,5.4
2165 CIRCLE (31,17),7,3,1.7,.9000001
2170 PAINT (22,17),1,3
2175 PAINT (31,17),1,3
2180 CIRCLE (17,17),7,3,2,5
2185 PAINT (11,17),2,3
2190 GET (0,0)-(40,25),P5
2195 CLS
3000 CIRCLE (80,140),10,3
3005 PAINT (80,140),3,3
3010 CIRCLE (62,140),12,3
3015 PAINT (62,140),2,3
3020 CIRCLE (90,152),12,3
3025 PAINT (90,152),2,3
3030 CIRCLE (89,127),12,3
3035 PAINT (89,127),2,3
3040 CIRCLE (72,128),12,3,1,3.2
3045 PAINT (72,128),2,3
3050 CIRCLE (72,152),12,3,3,5.4
3055 PAINT (72,152),2,3
3060 CIRCLE (98,140),12,3,5.2,1.3
3065 PAINT (98,140),2,3
3070 LINE (77,162)-(74,180),1
3075 LINE (82,160)-(79,180),1
3080 LINE (74,180)-(77,199),1
3085 LINE (79,180)-(82,199),1
3090 LINE (74,180)-(70,170),1
3095 LINE (74,183)-(68,180),1
3100 CIRCLE (68,174),6,1,1.2,4.5
3300 CIRCLE (300,10),40,3
3305 PAINT (300,10),3,3
3310 'CIRCLE (35,5),20,3
3315 'CIRCLE (45,8),17,3
4000 X=276:Y=86:TP=1
4010 GOSUB 30
4020 X1=160:Y1=120:T1=1
4030 GOSUB 40
4040 GOTO 100
5000 L=1:SND=NOT SND:RETURN
6000 REM The IBM Personal Computer Music Scroll
6010 REM Version 1.00 (C)Copyright IBM Corp 1981
6020 REM Licensed Material - Program Property of IBM
6040 DATA 0,6,0,6,42,4,46,4,49,4,49,4,0,4,61,2,0,2,61,2,0,6,58,2,0,2,58,2,0,6,42,4,42,4
6050 DATA 46,4,49,4
6060 DATA 49,4,0,4,61,2,0,2,61,2,0,6,59,2,0,2,59,2,0,6,41,4,41,4,44,4,51,4,51,4
6070 DATA 0,4,63,2,0,2,63,2,0,6,59,2,0,2
6080 DATA 59,2,0,6,41,4,41,4,44,4,51,4,51,4,0,4,63,2,0,2,63,2,0,6,58,2,0,2,58,2
6090 DATA 0,6,42,4
6100 DATA 42,4,46,4,49,4,54,4,0,4,66,2,0,2,66,2,0,6,61,2,0,2,61,2,0,6,42,4
6110 DATA 42,4,46,4,49,4,54,4,0,4,66,2,0,2
6120 DATA 66,2,0,6,63,2,0,2,63,2,0,6,44,4,44,4,47,4,51,2,0,2,51,14,0,2,48,4
6130 DATA 49,4,58,16
6140 DATA 54,4,46,4,46,8,44,4,51,8,49,4,42,4,0,2,42,2,42,4,0,8,49,2,0,2,47,2
6150 DATA 0,6,49,2,0,2
6160 DATA 47,2,0,6,49,4,58,16,56,4,49,2,0,2,46,2,0,6,49,2,0,2,46,2,0,6,49,4
6170 DATA 56,16,54,4,49,2,0,2,47,2,0,6,49,2,0,2,47,2,0,6,49,4,58,16
6180 DATA 56,4,49,4,54,4,56,4,58,4,61,8,59,4,58,2,58,2,58,4,56,2,0,2,54,4,0,4,0,4
6190 DATA -1,-1
